diff --git a/system/core/Output.php b/system/core/Output.php
index 7bfde07..98deff5 100644
--- a/system/core/Output.php
+++ b/system/core/Output.php
@@ -627,6 +627,45 @@
 	// --------------------------------------------------------------------
 
 	/**
+	 * Delete cache
+	 *
+	 * @param	string	$uri	URI string
+	 * @return	bool
+	 */
+	public function delete_cache($uri = '')
+	{
+		$CI =& get_instance();
+		$cache_path = $CI->config->item('cache_path');
+		if ($cache_path === '')
+		{
+			$cache_path = APPPATH.'cache/';
+		}
+
+		if ( ! is_dir($cache_path))
+		{
+			log_message('error', 'Unable to find cache path: '.$cache_path);
+			return FALSE;
+		}
+
+		if (empty($uri))
+		{
+			$uri = $CI->uri->uri_string();
+		}
+
+		$cache_path .= md5($CI->config->item('base_url').$CI->config->item('index_page').$uri);
+
+		if ( ! @unlink($cache_path))
+		{
+			log_message('error', 'Unable to delete cache file for '.$uri);
+			return FALSE;
+		}
+
+		return TRUE;
+	}
+
+	// --------------------------------------------------------------------
+
+	/**
 	 * Set Cache Header
 	 *
 	 * Set the HTTP headers to match the server-side file cache settings
diff --git a/user_guide_src/source/changelog.rst b/user_guide_src/source/changelog.rst
index 09c425d..6570eb7 100644
--- a/user_guide_src/source/changelog.rst
+++ b/user_guide_src/source/changelog.rst
@@ -295,8 +295,8 @@
    -  Renamed method ``_call_hook()`` to ``call_hook()`` in the :doc:`Hooks Library <general/hooks>`.
    -  :doc:`Output Library <libraries/output>` changes include:
 	 -  Added a second argument to method ``set_content_type()`` that allows setting the document charset as well.
-	 -  Added method ``get_content_type()``.
-	 -  Added method ``get_header()``.
+	 -  Added methods ``get_content_type()`` and ``get_header()``.
+	 -  Added method ``delete_cache()``.
    -  ``$config['time_reference']`` now supports all timezone strings supported by PHP.
    -  :doc:`Config Library <libraries/config>` changes include:
 	 -  Changed ``site_url()`` method  to accept an array as well.
diff --git a/user_guide_src/source/general/caching.rst b/user_guide_src/source/general/caching.rst
index c40f652..48385d6 100644
--- a/user_guide_src/source/general/caching.rst
+++ b/user_guide_src/source/general/caching.rst
@@ -56,5 +56,13 @@
 it will no longer be refreshed when it expires.
 
 .. note:: Removing the tag will not delete the cache immediately. It will
-	have to expire normally. If you need to remove it earlier you
-	will need to manually delete it from your cache directory.
\ No newline at end of file
+	have to expire normally.
+
+If you need to manually delete the cache, you can use the ``delete_cache()``
+method::
+
+	// Deletes cache for the currently requested URI
+	$this->output->delete_cache();
+
+	// Deletes cache for /foo/bar
+	$this->output->delete_cache('/foo/bar');
\ No newline at end of file
